package com.histone.lilian.magic;

import cn.dev33.satoken.stp.StpUtil;
import org.springframework.stereotype.Component;
import org.ssssssss.magicapi.config.MagicModule;
import org.ssssssss.script.annotation.Comment;

import java.util.List;

/**
 * 代指当前登录的用户
 */
@Component
public class MeFunctions implements MagicModule {

    /**
     * 返回模块名，使用时通过import指令导入之后使用
     */
    @Override
    public String getModuleName() {
        return "me";    // 模块名称
    }

    /**
     *   调用打印方法
     * @return
     */
    @Comment("获取userId")
    public String id() {
        return StpUtil.getLoginIdAsString();
    }

    @Comment("是否是管理员")
    public Boolean isAdmin() {
        return StpUtil.hasRole("admin");
    }

    @Comment("获取权限列表")
    public List<String> perms() {
        return StpUtil.getPermissionList();
    }

    @Comment("获取角色列表")
    public List<String> roles() {
        return StpUtil.getRoleList();
    }
}
